module.exports = function (e) {
  var n = {
    begin: /[A-Z\_\.\-]+\s*:/,
    returnBegin: !0,
    end: ";",
    endsWithParent: !0,
    contains: [{
      className: "attribute",
      begin: /\S/,
      end: ":",
      excludeEnd: !0,
      starts: {
        endsWithParent: !0,
        excludeEnd: !0,
        contains: [{
          begin: /[\w-]+\(/,
          returnBegin: !0,
          contains: [{
            className: "built_in",
            begin: /[\w-]+/
          }, {
            begin: /\(/,
            end: /\)/,
            contains: [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE]
          }]
        }, e.CSS_NUMBER_MODE, e.QUOTE_STRING_MODE, e.APOS_STRING_MODE, e.C_BLOCK_COMMENT_MODE, {
          className: "number",
          begin: "#[0-9A-Fa-f]+"
        }, {
          className: "meta",
          begin: "!important"
        }]
      }
    }]
  };
  return {
    case_insensitive: !0,
    illegal: /[=\/|'\$]/,
    contains: [e.C_BLOCK_COMMENT_MODE, {
      className: "selector-id",
      begin: /#[A-Za-z0-9_-]+/
    }, {
      className: "selector-class",
      begin: /\.[A-Za-z0-9_-]+/
    }, {
      className: "selector-attr",
      begin: /\[/,
      end: /\]/,
      illegal: "$"
    }, {
      className: "selector-pseudo",
      begin: /:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/
    }, {
      begin: "@(font-face|page)",
      lexemes: "[a-z-]+",
      keywords: "font-face page"
    }, {
      begin: "@",
      end: "[{;]",
      illegal: /:/,
      contains: [{
        className: "keyword",
        begin: /\w+/
      }, {
        begin: /\s/,
        endsWithParent: !0,
        excludeEnd: !0,
        relevance: 0,
        contains: [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, e.CSS_NUMBER_MODE]
      }]
    }, {
      className: "selector-tag",
      begin: "[a-zA-Z-][a-zA-Z0-9_-]*",
      relevance: 0
    }, {
      begin: "{",
      end: "}",
      illegal: /\S/,
      contains: [e.C_BLOCK_COMMENT_MODE, n]
    }]
  };
};